package com.token.sysflow.bean;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import com.token.sql.IntegrateSql;
import com.token.sql.AbstractTableBean;
/**
 * 审批中办理人多值
 * @author 代码创建
 */
public class FSysApprovingVth extends AbstractTableBean {

    private int SysId; //租户ID
    private String SysAddTime; //创建时间
    private String SysEditTime; //修改时间
    private String KeyUnid; //单据关联
    private String StepId; //环节Id
    private String Approver; //办理人Id
    private int Status; //状态(1审批中，0审批完成)
    private int HSResult; //会审结果(0 不通过，1 通过)
    private String Options; //办理意见
    private String Authorizer; //授权人

    public FSysApprovingVth (IntegrateSql f){
        super(f,"F_Sys_ApprovingVth");
        this.setKeyName("ApprovId");
    }

    public FSysApprovingVth (IntegrateSql f,ResultSet rs) throws SQLException{
        super(f,"F_Sys_ApprovingVth");
        this.setKeyName("ApprovId");
        this.initParamToRs(rs);
    }

    public FSysApprovingVth (IntegrateSql f,String keyValue) throws SQLException{
        super(f,"F_Sys_ApprovingVth");
        this.setKeyName("ApprovId");
        setCodePrepare(selectCodeById().toString());
        prepareSql.setPstValue(1, keyValue);
        ResultSet rs = executeQuery();
        if(rs.next()){
            initParamToRs(rs);
        }else{
            initParam();
        }
        rs.close();
    }

    @Override
    protected void initParam() {
        SysId = 0; //租户ID
        SysAddTime = ""; //创建时间
        SysEditTime = ""; //修改时间
        KeyUnid = ""; //单据关联
        StepId = ""; //环节Id
        Approver = ""; //办理人Id
        Status = 0; //状态(1审批中，0审批完成)
        HSResult = 0; //会审结果(0 不通过，1 通过)
        Options = ""; //办理意见
        Authorizer = ""; //授权人
    }


    public void initParamToRs(ResultSet rs) throws SQLException{
        SysId = rs.getInt("SysId"); //租户ID
        SysAddTime = rs.getString("SysAddTime"); //创建时间
        SysEditTime = rs.getString("SysEditTime"); //修改时间
        KeyUnid = rs.getString("KeyUnid"); //单据关联
        StepId = rs.getString("StepId"); //环节Id
        Approver = rs.getString("Approver"); //办理人Id
        Status = rs.getInt("Status"); //状态(1审批中，0审批完成)
        HSResult = rs.getInt("HSResult"); //会审结果(0 不通过，1 通过)
        Options = rs.getString("Options"); //办理意见
        Authorizer = rs.getString("Authorizer"); //授权人
        this.setKeyId(rs.getString("ApprovId"));
    }


    @Override
    protected int appendData() throws SQLException {
        int i = 1;
        prepareSql.setPstValue(i++,SysId); //租户ID
        prepareSql.setPstValue(i++,SysAddTime); //创建时间
        prepareSql.setPstValue(i++,SysEditTime); //修改时间
        prepareSql.setPstValue(i++,KeyUnid); //单据关联
        prepareSql.setPstValue(i++,StepId); //环节Id
        prepareSql.setPstValue(i++,Approver); //办理人Id
        prepareSql.setPstValue(i++,Status); //状态(1审批中，0审批完成)
        prepareSql.setPstValue(i++,HSResult); //会审结果(0 不通过，1 通过)
        prepareSql.setPstValue(i++,Options); //办理意见
        prepareSql.setPstValue(i++,Authorizer); //授权人
        return i;
    }


    @Override
    public Vector<String> getFields() {
        Vector<String> vec = new Vector<String>();
        vec.addElement("SysId"); //租户ID
        vec.addElement("SysAddTime"); //创建时间
        vec.addElement("SysEditTime"); //修改时间
        vec.addElement("KeyUnid"); //单据关联
        vec.addElement("StepId"); //环节Id
        vec.addElement("Approver"); //办理人Id
        vec.addElement("Status"); //状态(1审批中，0审批完成)
        vec.addElement("HSResult"); //会审结果(0 不通过，1 通过)
        vec.addElement("Options"); //办理意见
        vec.addElement("Authorizer"); //授权人
        return vec;
    }


    /**
     * 设置租户ID
     * @param sysid
     */
    public void setSysId(int sysid){
        SysId = sysid;
    }
    /**
     * 获取SysId
     * @return 租户ID
     */
    public int getSysId(){
        return SysId;
    }

    /**
     * 设置创建时间
     * @param sysaddtime
     */
    public void setSysAddTime(String sysaddtime){
        SysAddTime = sysaddtime;
    }
    /**
     * 获取SysAddTime
     * @return 创建时间
     */
    public String getSysAddTime(){
        return SysAddTime;
    }

    /**
     * 设置修改时间
     * @param sysedittime
     */
    public void setSysEditTime(String sysedittime){
        SysEditTime = sysedittime;
    }
    /**
     * 获取SysEditTime
     * @return 修改时间
     */
    public String getSysEditTime(){
        return SysEditTime;
    }

    /**
     * 设置单据关联
     * @param keyunid
     */
    public void setKeyUnid(String keyunid){
        KeyUnid = keyunid;
    }
    /**
     * 获取KeyUnid
     * @return 单据关联
     */
    public String getKeyUnid(){
        return KeyUnid;
    }

    /**
     * 设置环节Id
     * @param stepid
     */
    public void setStepId(String stepid){
        StepId = stepid;
    }
    /**
     * 获取StepId
     * @return 环节Id
     */
    public String getStepId(){
        return StepId;
    }

    /**
     * 设置办理人Id
     * @param approver
     */
    public void setApprover(String approver){
        Approver = approver;
    }
    /**
     * 获取Approver
     * @return 办理人Id
     */
    public String getApprover(){
        return Approver;
    }

    /**
     * 设置状态(1审批中，0审批完成)
     * @param status
     */
    public void setStatus(int status){
        Status = status;
    }
    /**
     * 获取Status
     * @return 状态(1审批中，0审批完成)
     */
    public int getStatus(){
        return Status;
    }

    /**
     * 设置会审结果(0 不通过，1 通过)
     * @param hsresult
     */
    public void setHSResult(int hsresult){
        HSResult = hsresult;
    }
    /**
     * 获取HSResult
     * @return 会审结果(0 不通过，1 通过)
     */
    public int getHSResult(){
        return HSResult;
    }

    /**
     * 设置办理意见
     * @param options
     */
    public void setOptions(String options){
        Options = options;
    }
    /**
     * 获取Options
     * @return 办理意见
     */
    public String getOptions(){
        return Options;
    }

    /**
     * 设置授权人
     * @param authorizer
     */
    public void setAuthorizer(String authorizer){
        Authorizer = authorizer;
    }
    /**
     * 获取Authorizer
     * @return 授权人
     */
    public String getAuthorizer(){
        return Authorizer;
    }

}
